package org.springblade.modules.admin.enums.erp.options;

import lombok.AllArgsConstructor;
import lombok.Getter;
import org.springblade.modules.admin.enums.erp.tables.BuildingMessageEnum;

/**
 * @author Sharry
 * @since 2024-12-24
 */
@Getter
@AllArgsConstructor
public enum BuildingMessageTypeEnum {

	/**
	 * 办公楼
	 */
	OFFICE_BUILDING(BuildingMessageEnum.TYPE.getFieldId(), "4", "办公楼", "9"),

	/**
	 * 别墅
	 */
	VILLA(BuildingMessageEnum.TYPE.getFieldId(), "5", "别墅", "2"),

	/**
	 * 出租房
	 */
	RENTAL_HOUSE(BuildingMessageEnum.TYPE.getFieldId(), "6", "出租房", "12"),

	/**
	 * 工厂
	 */
	FACTORY(BuildingMessageEnum.TYPE.getFieldId(), "7", "工厂", "7"),

	/**
	 * 公共设施
	 */
	PUBLIC_FACILITIES(BuildingMessageEnum.TYPE.getFieldId(), "8", "公共设施", "11"),

	/**
	 * 酒店/民宿
	 */
	HOTEL(BuildingMessageEnum.TYPE.getFieldId(), "9", "酒店/民宿", "4"),

	/**
	 * 其他
	 */
	OTHER(BuildingMessageEnum.TYPE.getFieldId(), "10", "其他", "8"),

	/**
	 * 商超
	 */
	SUPERMARKET(BuildingMessageEnum.TYPE.getFieldId(), "11", "商超", "3"),

	/**
	 * 小区
	 */
	COMMUNITY(BuildingMessageEnum.TYPE.getFieldId(), "12", "小区", "1"),

	/**
	 * 学校
	 */
	SCHOOL(BuildingMessageEnum.TYPE.getFieldId(), "13", "学校", "5"),

	/**
	 * 医院
	 */
	HOSPITAL(BuildingMessageEnum.TYPE.getFieldId(), "14", "医院", "6"),

	/**
	 * 政府单位
	 */
	GOVERNMENT(BuildingMessageEnum.TYPE.getFieldId(), "15", "政府单位", "10");

	/**
	 * 字段 ID
	 */
	final String fieldId;

	/**
	 * 选项 ID
	 */
	final String id;

	/**
	 * 选项名称
	 */
	final String name;

	/**
	 * 梯无忧字典 dict_key
	 */
	final String dictKey;

	/**
	 * 根据 dictKey 获取 id
	 */
	public static String getIdByDictKey(String dictKey) {
		for (BuildingMessageTypeEnum e : BuildingMessageTypeEnum.values()) {
			if (e.getDictKey().equals(dictKey)) {
				return e.getId();
			}
		}
		return null;
	}

}
